// <copyright>
// Project: sofort.NET
// Date:  2014 - 02 - 04
// Copyright: Karl Haak 2014
// </copyright>
// <author>Karl Haak (www.karlhaak.de)</author>
namespace pay.sofort.Models.Mapping
{
    public class PaySofortOutMap : PaySofortBaseMap<PaySofortOut>
    {
        public PaySofortOutMap()
        {
            // Primary Key
            HasKey(t => t.PaySofortOutGuid);

            // Properties
            Property(t => t.ApiKey)
                .IsRequired()
                .HasMaxLength(50);

            Property(t => t.Kundennummer)
                .IsRequired()
                .HasMaxLength(100);

            Property(t => t.Url)
                .IsRequired()
                .HasMaxLength(250);

            Property(t => t.Typ)
                .IsRequired()
                .HasMaxLength(50);

            Property(t => t.HttpStatus)
                .HasMaxLength(50);

            // Table & Column Mappings
            ToTable("PaySofortOut");
            Property(t => t.PaySofortOutGuid).HasColumnName("PaySofortOutGuid");
            Property(t => t.RefGuid).HasColumnName("RefGuid");
            Property(t => t.ApiKey).HasColumnName("ApiKey");
            Property(t => t.Kundennummer).HasColumnName("Kundennummer");
            Property(t => t.ProjectId).HasColumnName("ProjectId");
            Property(t => t.Url).HasColumnName("Url");
            Property(t => t.Typ).HasColumnName("Typ");
            Property(t => t.PayloadOut).HasColumnName("PayloadOut");
            Property(t => t.PayloadIn).HasColumnName("PayloadIn");
            Property(t => t.HttpStatus).HasColumnName("HttpStatus");
        }
    }
}